#ifndef ELEMENT_H
#define ELEMENT_H

#include <string>
#include "Constantes.h"
#include "Position.h"

class Monde;

using namespace std;

class Element
{
    protected:
        /////////////// ATTRIBUTS ///////////////

        string nom;
        Position pos;
        Monde * monde;

    public:
        /////////////// OBJET ///////////////

        //Element();
        Element(const string &, const Position &, Monde *);
        virtual ~Element();
        void mourir();

        /////////////// NOM ///////////////

        void setNom(const string &);
        const string & getNom() const;

        /////////////// POSITION ///////////////

        void setPosition(const Position &);
        const Position & getPosition() const;
        Position & getPositionToModify();
        Monde * getMonde();

        /////////////// GRAPHIQUE ///////////////

        virtual void afficherCarte() const;

        /////////////// DEBUG ///////////////

        virtual void afficher() const;
};

#endif // ELEMENT_H
